// 正则中也有分组的匹配
// 正则表达式的括号表示分组匹配，括号中的模式可以用来匹配分组的内容
// 第一个模式没有括号，结果+只表示重复字母d，第二个模式有括号，结果+就表示匹配fred这个词
/fred+/.test("fredd"); // true
/(fred)+/.test("fredfred"); // true;

var m = "abcabc".match(/(.)b(.)/);
// console.log(m);
// ['abc', 'a', 'c']
// 分析一下这三个结果，第一个结果是匹配的整个完整正则的匹配
// a是第一个组匹配的结果 c是第二个组匹配的结果
// 注意使用组匹配时，不宜同时使用g修饰符，否则match方法不会捕获分组的内容
var m2 = "abcabc".match(/(.)b(.)/g);
// console.log(m2); // ['abc', 'abc']
// 上面代码使用带g修饰符的正则表达式，结果match方法只捕获了匹配整个表达式的部分。
// 这时必须使用正则表达式的exec方法，配合循环，才能读到每一轮匹配的组捕获
var str = "abcabc";
var reg = /(.)b(.)/g;
while (true) {
  var result = reg.exec(str);
  if (!result) break;
  console.log(result);
}
